package com.it.a08test2;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) throws IOException {
        //客户端：发送一条数据，接收服务端反馈的消息并打印
        //服务器：接收数据并打印，再给客户端反馈消息
        //创建ServerSocket对象
        ServerSocket ss = new ServerSocket(8888);

        //等待数据传入
        Socket s = ss.accept();

        //读取数据
        //InputStreamReader isr = new InputStreamReader(s.getInputStream());
        InputStream is = s.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        int c;
        //细节：
        //read方法会从链接通道中读取数据
        //但是，需要有一个结束标志，此处的循环才会停止
        //否则。程序就会一直停在read方法这里，等待读取下面的数据
        while ((c = isr.read()) != -1) {
            System.out.print((char) c);
        }

        //反馈消息
        String str = "到底有多高兴";
        OutputStream os = s.getOutputStream();
        os.write(str.getBytes());

        //释放数据
        s.close();
        ss.close();
    }
}
